#pragma once

#include "SceneNode.h"
#include "Shape.h"

class ModelSceneNode : public SceneNode
{
public:
	// The model that is to be rendered at the transformatio
	// at the scene graph.
	int ModelID;

	virtual bool IsRenderable() override
	{
		 return true;
	}

	virtual void Render(
		ID3D11DeviceContext1* Direct3DContext, 
		ModelViewProjectionConstantBuffer ModelViewProjectionBuffer,
		ID3D11Buffer* constantBuffer,
		ID3D11SamplerState* textureSampler,

		ShapeLibrary *shapeLibrary,
		TextureLibrary* textureLibrary,
		ShaderPairLibrary* shaderPairLibrary,
		ModelLibrary* modelLibrary) override;
};